This disclosure relates generally to the field of video processing, and more particularly, but not by way of limitation, this disclosure relates to automatically creating a seamless video loop from a casually shot handheld video or a sequence of images.
Visual imagery can generally be classified as either a static image (e.g., photograph, painting, etc.) or a dynamic image (e.g., video, animation, etc.). A static image captures a single instant in time while a dynamic image can provide an unfolding temporal narrative through time. Differing types of short videos can be created from multiple static images or a dynamic image. Examples of short videos include cinemagraphs and cliplets, which selectively freeze, play, and loop video regions to achieve compelling effects. For instance, cinemagraphs can commonly combine static scenes with small repeating movements (e.g., a hair wisp blowing in the wind); thus, some motion and narrative can be captured in a cinemagraph. In a cinemagraph, the dynamic element is commonly looping in a series of frames to create a video loop. In order to create smoother animations and minimize visual artifacts, a user may create cinemagraphs by using pre-planned, tripod-mounted footage and subsequently manually identify relevant frames that produce a smooth video loop. However, a user may wish to automatically create a video loop from different types of video inputs, such as handheld videos or static images taken with a portable device that produce the same quality as pre-planned cinemagraphs but without the painstaking effort and time consumption.